const router = require('express').Router();
const bannerModel = require("../../models/bannerModel");
// 判断是否是管理员登录
const Jwt = require("../../common/jwt")

// 分发添加轮播图功能接口
// URL: http://localhost:3000/api/banner/add
// 方式：POST
// 参数: banner_title, banner_link, banner_picUrl, token
router.post('/add', async (req, res) => {
    let { banner_title, banner_link, banner_picUrl } = req.body;
    // 处理当前添加轮播图的时间
    let dt = new Date();
    let banner_create_time = dt.toLocaleDateString() + " " + (dt.toLocaleTimeString());

    // 获取存储用户临时身份、令牌的 token 信息
    let token = req.header.token || req.body.token;
    let result = new Jwt(token).verifyToken()

    // 判断当前登录身份是否是管理员
    if (result.code === 200) {
        // 获取登录用户信息
        try {
            if (banner_title && banner_link && banner_picUrl && banner_create_time) {
                bannerModel.add(banner_title, banner_link, banner_picUrl, banner_create_time)
                    .then(
                        content => {
                            res.send({ content })
                        }
                    )
                    .catch(
                        err => {
                            res.send({ err })
                        }
                    )
            } else {
                res.send({
                    code: 500,
                    msg: "获取轮播图信息失败",
                    err: err
                });
            }
        } catch (err) {
            res.send({
                code: 500,
                msg: "获取轮播图信息失败",
                err: err
            });
        }
    } else {
        // 登录失效
        res.send({
            code: 404,
            msg: "登录失效，请重新登录！"
        });
    }
});


// 删除发布的轮播图功能接口
// URL: http://localhost:3000/api/banner/remove
// 方式：POST
// 参数: id, token
router.post('/remove', async (req, res) => {
    let { id } = req.body;

    // 获取存储用户临时身份、令牌的 token 信息
    let token = req.header.token || req.body.token;
    let result = new Jwt(token).verifyToken()

    if (result.code === 200) {
        if (id === undefined) {
            res.send({
                code: -1,
                msg: "缺少参数！",
            })
        } else {
            await bannerModel.remove(id)
                .then(
                    content => {
                        res.send({ content })
                    }
                )
                .catch(
                    err => {
                        res.send({ err })
                    }
                )
        }
    } else {
        // 登录失效
        res.send({
            code: 404,
            msg: "登录失效，请重新登录后再尝试！"
        });
    }


})


// 获取轮播图列表信息的功能接口
// URL: http://localhost:3000/api/banner/lists
// 方式：GET
// 参数: page, pageSize
router.get('/lists', async (req, res) => {
    let { page, pageSize } = req.query;
    if (page === undefined || pageSize === undefined) {
        res.send({
            code: -1,
            msg: "缺少参数！",
        })
    } else {
        await bannerModel.lists(page, pageSize)
            .then(
                content => {
                    res.send({ content })
                }
            )
            .catch(
                err => {
                    res.send({ err })
                }
            )
    }
})



module.exports = router;